(function(...params) {
  const process = require('process');
  const defaultEntryName = params[0];
  return {
    /* 描述信息 */
    description: '{name}.entry.[jt]sx自动生成工具',
    defaultPath: 'entry',
    // includePath: ['compile'],
    excludePath: ['node_modules', '.git', '.idea'],
    suffixMap: {
      useTypeScript(val) {
        return val === true ? {'.js': '.ts', '.jsx': '.tsx'} : null
      }
    },
    nameMap: {
      nameTm: '{name}',
      useTypeScript(val) {
        return val === true ? { '.jsx.': '.tsx.' } : null;
      }
    },
    prompt: [
      {
        type: 'path',
        name: 'toPath',
        message: '生成路径',
      },
      {
        type: 'input',
        name: 'name',
        message: 'entry名称：',
        async before() {
          return {
            default: defaultEntryName || '',
          };
        },
        // default: '',
        validate(value) {
          if (!value) {
            return `请输入entry名称`;
          }
          return true;
        }
      }, {
        type: 'input',
        name: 'title',
        message: '网页标题: ',
        // default: 10000,
      }, {
        type: 'confirm',
        name: 'useTypeScript',
        message: '是否使用type-script: ',
        default: true,
      }, {
        type: 'confirm',
        name: 'useRedux',
        message: '是否使用redux: ',
        default: true,
      }, {
        type: 'confirm',
        name: 'useReactRouter',
        message: '是否使用react-router: ',
        default: true,
      }],

  }
});